WPS and WFPS budgets

The WPS annual budget increased $101.9 million, or 50.4 per cent, between 2011 and 2020. The WFPS annual budget increased by $66.4 million, $46.4 per cent, in the same period.

The percentage of the city’s total annual operating budget consumed by the WFPS and WPS has remained relatively consistent in the previous 10 years.


Budget projections


WPS Staffing

The authorized civilian compliment has increased by 160 people or 39.9 per cent, including 25 cadets, between 2011 and 2020 while sworn officers have decreased by 59 or 4.2 per cent.

The number of residents per police officer has increased by 77 residents, a 15.7 per cent increase, in the previous 10 years. The city’s population increased by 75,116 people, a 10.9 per cent increase, in the same period.

Per capita costs for WPS increased 36.4 per cent, from $291.68 to $397.75 per resident.



WPS Change

The percentage change for WPS tax-supported expenses outpaced inflation.



WPS calls and events

Calls to communication centre increased by 2.3 per cent (13,811 more calls) between 2012 and 2020.

Police-initiated dispatched events increased by 69.4 per cent (34,164) in the same period.

Citizen-generated dispatched events increased by 20.7 per cent (27,184)



WPS crime and clearance



WPS clearance


Salary disclosure


winnipeg_all_salary_disclosure_2016_2020_grouped_ranked


datatable(winnipeg_all_salary_disclosure_2016_2020_grouped_ranked,
  caption = "Table: winnipeg_all_salary_disclosure_2016_2020_grouped_ranked",
  class = "cell-border stripe",
  rownames = FALSE,
  filter = "top",
  options = list(
    pageLength = 10,
    order = list(list(3, "asc"), list(1, "asc")),
    language = list(search = "Filter:")
  )
)

winnipeg_all_salary_disclosure_2016_2020_grouped


datatable(winnipeg_all_salary_disclosure_2016_2020_grouped,
  caption = "Table: winnipeg_all_salary_disclosure_2016_2020_grouped",
  class = "cell-border stripe",
  rownames = FALSE,
  filter = "top",
  options = list(
    pageLength = 10,
    order = list(list(1, "desc")),
    language = list(search = "Filter:"),
    search = list(regex = TRUE, caseInsensitive = FALSE, search = "Police")
  )
)

winnipeg_police_salary_disclosure_2016_2020

Winnipeg Police Service staff are named but officers (Constables, etc.) are not.


datatable(winnipeg_all_salary_disclosure_2016_2020,
  caption = "Table: winnipeg_all_salary_disclosure_2016_2020",
  class = "cell-border stripe",
  rownames = FALSE,
  filter = "top",
  options = list(
    pageLength = 25,
    order = list(list(5, "asc"))
  )
)
# Warning in instance$preRenderHook(instance): It seems your data is too big
# for client-side DataTables. You may consider server-side processing: https://
# rstudio.github.io/DT/server.html


Winnipeg Budgets


10 year percentage change for Winnipwg departments


Crime Severity Index and Clearance Rates


Clearance Rates